#include "stringutil.h"
#include <QCryptographicHash>

QByteArray StringUtil::md5(const QByteArray &value)
{
    QByteArray result = QCryptographicHash::hash(value, QCryptographicHash::Md5);
    return result.toHex();
}

QByteArray StringUtil::md5(const QString &value)
{
    QByteArray buffer;
    buffer.append(value);
    return md5(buffer);
}

QByteArray StringUtil::sha1(const QByteArray &value, bool base64)
{
    QByteArray result = QCryptographicHash::hash(value, QCryptographicHash::Sha1);
    return base64 ? result.toBase64() : result.toHex();
}

QByteArray StringUtil::sha256(const QByteArray &value, bool base64)
{
    QByteArray result = QCryptographicHash::hash(value, QCryptographicHash::Sha256);
    return base64 ? result.toBase64() : result.toHex();
}

QString StringUtil::replace(QString value, const QString &a, const QString &p)
{
    return value.replace(a, p);
}
